const { defineConfig } = require('@vue/cli-service') 
const path = require('path')
const resolve = (dir) => path.join(__dirname, dir);
module.exports = defineConfig({
  transpileDependencies: true,
  // 关闭esLint校验
  lintOnSave: false,
  // 配置代理
  
// 开发服务器配置
  devServer: {
    // 开发服务器监听的端口
    port: 8080,
    // 代理设置，用于将请求转发到其他服务器
      proxy: {
        // 将所有以/api开头的请求转发到目标服务器
        '/api': {
          target: 'http://192.168.3.11:8080',
          // 开启改变原始请求的协议和域名
          changeOrigin: true,
          // 重写请求路径，将/api替换为空字符串
          pathRewrite: {
            '^/api': ''
          }
        }
      },
      // 自动打开浏览器
      open: true,
      // 开启热更新，在修改代码时自动更新浏览器内容
      hot: true, 
  },
  publicPath: process.env.NODE_ENV == 'production'? '/server/':'/',
  indexPath:'index.html',
  outputDir: 'dist',
  assetsDir: 'static',
  runtimeCompiler: false,
  productionSourceMap:false,
  chainWebpack: config => {
    config.resolve.symlinks(true); // 修复热更新失效
    // 如果使用多页面打包，使用vue inspect --plugins查看html是否在结果数组中
    config.plugin("html").tap(args => {
      // 修复 Lazy loading routes Error
      args[0].chunksSortMode = "none";
      return args;
    });
    config.resolve.alias // 添加别名
      .set('@', resolve('src'))
      .set('@assets', resolve('src/assets'))
      .set('@components', resolve('src/components'))
      .set('@views', resolve('src/views'))
      .set('@store', resolve('src/store'))
      .set('@request',resolve('src/request')) 
  }, 
  
})
